[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
     unpack(TEMPLATE,EXPR)

             Unpack does the reverse of pack: it takes  a  string
             representing  a structure and expands it out into an
             array value,  returning  the  array  value.   (In  a
             scalar  context,  it  merely returns the first value
             produced.)  The TEMPLATE has the same format  as  in
             the  pack  function.   Here's a subroutine that does
             substring:

                  sub substr {
                       local($what,$where,$howmuch) = @_;
                       unpack("x$where a$howmuch", $what);
                  }

             and then there's

                  sub ord { unpack("c",$_[0]); }

             In addition, you may prefix a field with a %<number>
             to indicate that you want a <number>-bit checksum of
             the items instead of the items themselves.   Default
             is  a  16-bit  checksum.  For example, the following
             computes the same number as the System  V  sum  pro-
             gram:

                  while (<>) {
                      $checksum += unpack("%16C*", $_);
                  }
                  $checksum %= 65536;

See Also: pack
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson